<% '=================================================================== 'XDOWNPAGE ASP 버 전 1.00 'Code by zykj2000 'Email:
[email protected] 'BBS: http://bbs.513soft.net '이 프로그램 은 무료 로 사용 하고 수정 할 수 있 습 니 다.제 프로그램 이 귀하 의 업무 에 편 의 를 가 져 다 줄 수 있 기 를 바 랍 니 다.'그러나 상기 이자'프로그램의 특징'을 유지 하 십시오.이 프로그램 은 주로 데이터 페이지 의 부분 을 봉 인 했 습 니 다.데이터 디 스 플레이 부분 은 완전히 사용자 정의 입 니 다.'URL 여러 매개 변수 지원'사용 설명'프로그램 매개 변수 설명'Papge Size 각 페이지 의 기록 수'GetRS'를 정의 합 니 다. 페이지 를 나 눈 Recordset 을 되 돌려 줍 니 다.이 속성 은'GetConn'만 읽 습 니 다. 데이터베이스 연결'GetSQL'가 져 오기 검색 어'프로그램 방법 설명'쇼 페이지 받 기 페이지 별 내 비게 이 션 바 를 표시 합 니 다.유일한 공용 방법 은'=========================================================== Btn_First="
9" '첫 페이지 단 추 를 누 르 면 스타일 콘 스 트 를 표시 합 니 다. Btn_Prev="3" '이전 페이지 단 추 를 정의 하여 스타일 Const 보이 기 Btn_Next="4" '다음 페이지 단 추 를 누 르 면 스타일 Const 를 표시 합 니 다. Btn_Last=":" '마지막 페이지 단 추 를 정의 하여 스타일 Const 보이 기 XD_Align="Center" '페이지 정보 정렬 방식 정의 Const XD_Width="100%" '페이지 정보 상자 크기 정의 Class Xdownpage Private XD_PageCount,XD_Conn,XD_Rs,XD_SQL,XD_PageSize,Str_errors,int_curpage,str_URL,int_totalPage,int_totalRecord,XD_sURL '================================================================= 'PageSize 속성'각 페이지 의 페이지 크기 설정'========================================================================================================= Property Let PageSize(int_PageSize) If IsNumeric(Int_Pagesize) Then XD_PageSize=CLng(int_PageSize) Else str_error=str_error & "PageSize 의 인자 가 정확 하지 않 습 니 다." ShowError() End If End Property Public Property Get PageSize If XD_PageSize="" or (not(IsNumeric(XD_PageSize))) Then PageSize=10 Else PageSize=XD_PageSize End If End Property '================================================================= 'GetRS ========================================================================================================================== Property Get GetRs() Set XD_Rs=Server.createobject("adodb.recordset") XD_Rs.PageSize=PageSize XD_Rs.Open XD_SQL,XD_Conn,1,1 If not(XD_Rs.eof and XD_RS.BOF) Then If int_curpage>XD_RS.PageCount Then int_curpage=XD_RS.PageCount End If XD_Rs.AbsolutePage=int_curpage End If Set GetRs=XD_RS End Property '================================================================ 'GetConn ================================================================================================== Public Property Let GetConn(obj_Conn) Set XD_Conn=obj_Conn End Property '================================================================ 'GetSQL 검색 어'========================================================================================================= Property Let GetSQL(str_sql) XD_SQL=str_sql End Property '================================================================== 'Class_Initialize ===================================================================== Private Sub Class_Initialize '======================== '일부 매개 변수의 a 인식 값 을 설정 합 니 다. '======================== XD_PageSize=10 '페이지 의 기본 값 을 10 으로 설정 합 니 다. '======================== '앞 값 가 져 오기 '======================== If request("page")="" Then int_curpage=1 ElseIf not(IsNumeric(request("page"))) Then int_curpage=1 ElseIf CInt(Trim(request("page")))<1 Then int_curpage=1 Else Int_curpage=CInt(Trim(request("page"))) End If End Sub '==================================================================== 'ShowPage 페이지 별 내 비게 이 션 만 들 기'첫 페이지,앞 페이지,다음 페이지,끝 페이지,그리고 디지털 내 비게 이 션''===================================================================================== Sub ShowPage() Dim str_tmp XD_sURL = GetUrl() int_totalRecord=XD_RS.RecordCount If int_totalRecord<=0 Then str_error=str_error & "총 기록 수가 0 이 니 데 이 터 를 입력 하 십시오" Call ShowError() End If If int_totalRecord="" then int_TotalPage=1 Else If int_totalRecord mod PageSize =0 Then int_TotalPage = CLng(int_TotalRecord / XD_PageSize * -1)*-1 Else int_TotalPage = CLng(int_TotalRecord / XD_PageSize * -1)*-1+1 End If End If If Int_curpage>int_Totalpage Then int_curpage=int_TotalPage End If '================================================================== '페이지 정 보 를 표시 합 니 다.각 모듈 은 자신의 요구 에 따라 디 스 플레이 위 치 를 변경 합 니 다. '================================================================== response.write "" str_tmp=ShowFirstPrv response.write str_tmp str_tmp=showNumBtn response.write str_tmp str_tmp=ShowNextLast response.write str_tmp str_tmp=ShowPageInfo response.write str_tmp response.write "" End Sub '==================================================================== 'ShowFirstPrv =========================================================================================================================== Function ShowFirstPrv() Dim Str_tmp,int_prvpage If int_curpage=1 Then str_tmp=Btn_First&" "&Btn_Prev Else int_prvpage=int_curpage-1 str_tmp="" & Btn_First&" " & Btn_Prev&"" End If ShowFirstPrv=str_tmp End Function '==================================================================== 'ShowNextLast =========================================================================================================================== Function ShowNextLast() Dim str_tmp,int_Nextpage If Int_curpage>=int_totalpage Then str_tmp=Btn_Next & " " & Btn_Last Else Int_NextPage=int_curpage+1 str_tmp="" & Btn_Next&" " & Btn_Last&"" End If ShowNextLast=str_tmp End Function '==================================================================== 'ShowNumBtn ========================================================================================================================== Function showNumBtn() Dim i,str_tmp For i=1 to int_totalpage str_tmp=str_tmp & "["&i&"] " Next showNumBtn=str_tmp End Function '==================================================================== 'ShowPageInfo ========================================================================================================================= Function ShowPageInfo() Dim str_tmp str_tmp="페이지 수:"&intcurpage&"/"&int_totalpage&"페이지 모두"&inttotalrecord&"항목 기록" "&XD_페이지 크기&"줄/페이지 당" ShowPageInfo=str_tmp End Function '================================================================== 'GetURL 현재 URL'을 얻 으 려 면 URL 매개 변수 에 따라 다른 결 과 를 얻 습 니 다.'===============================================================================================Private Function GetURL() Dim strurl,str_url,i,j,search_str,result_url search_str="page=" strurl=Request.ServerVariables("URL") Strurl=split(strurl,"/") i=UBound(strurl,1) str_url=strurl(i)'현재 페이지 파일 이름 가 져 오기 str_params=Trim(Request.ServerVariables("QUERY_STRING")) If str_params="" Then result_url=str_url & "?page=" Else If InstrRev(str_params,search_str)=0 Then result_url=str_url & "?" & str_params &"&page=" Else j=InstrRev(str_params,search_str)-2 If j=-1 Then result_url=str_url & "?page=" Else str_params=Left(str_params,j) result_url=str_url & "?" & str_params &"&page=" End If End If End If GetURL=result_url End Function '==================================================================== ' 설치 하 다. Terminate ====================================================================================================Private Sub Class_Terminate XD_RS.close Set XD_RS=nothing End Sub '==================================================================== 'ShowError ========================================================================================================================== Sub ShowError() If str_Error <> "" Then Response.Write("" & str_Error & "") Response.End End If End Sub End class 'set conn = server.CreateObject("adodb.connection") 'conn.open "driver={microsoft access driver (*.mdb)};dbq=" & server.Mappath("/data/5iduohai.mdb")'\#\#\#\#\#\#\#\#\#\#\#\#\#\#클래스 호출 샘플\#\#\#\#\#\#\#\#\#\#\#\#\##\#\##\#\##\#\#'생 성 대상'세트 mypage=new xdown page'데이터베이스 연결'my page.getconn=conn''sql 구문'my page.getsql='select * from [DH_Company] order by id asc"'각 페이지 의 기록 바 데 이 터 를 5 개의'my page.pagesize=5'로 설정 하여 Recordset'set'set 로 되 돌려 줍 니 다. rs=my page.getrs()'페이지 정 보 를 표시 합 니 다.이 방법 은 set 에 있 습 니 다. rs=my page.getrs()이후 임의의 위치 에서 호출 할 수 있 으 며,여러 번''디 스 플레이 데이터'Response.Write('br/')'for'를 호출 할 수 있 습 니 다. i=1 to my page.pagesize'여기 서 디 스 플레이 방식 을 사용자 정의 할 수 있 습 니 다.' if not rs.eof then ' response.write rs(0) & "
" ' rs.movenext ' else ' exit for ' end if 'next 'mypage.showpage() %>